home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 5
/
Amiga Tools 5.iso
/
grafik
/
3d & render tools
/
irit
/
man
/
man6
/
cbspline.6
< prev
next >
Wrap
Text File
|
1996-07-16
|
2KB
|
62 lines
.TH CBSPLINE
6 "IRIT Version 6.0"
.SH NAME
CBSPLINE
CurveType CBSPLINE( NumericType Order, ListType CtlPtList,
ListType KnotVector )
Creates a Bspline curve out of the provided control point list, the
knot vector, and the specified order. CtlPtList is a list of control
points, all of which must be of type (E1-E5, P1-P5), or regular PointType
defining the curve's control polygon. Curve's point type will be of a space
which is the union of the spaces of all points.
The length of the KnotVector must be equal to the number of control
points in CtlPtList plus the Order. If, however, the length of
the knot vector is equal to #CtlPtList + Order + Order - 1 the curve
is assumed periodic.
The knot vector list may be specified as either list( KV_OPEN ) or
list( KV_FLOAT ) or list( KV_PERIODIC ) in which a uniform
open, uniform floating or uniform periodic knot vector with the appropriate
length is automatically constructed.
Example:
s45 = sin(pi / 4);
HalfCirc = CBSPLINE( 3,
list( ctlpt( P3, 1.0, 1.0, 0.0, 0.0 ),
ctlpt( P3, s45, s45, s45, 0.0 ),
ctlpt( P3, 1.0, 0.0, 1.0, 0.0 ),
ctlpt( P3, s45, -s45, s45, 0.0 ),
ctlpt( P3, 1.0, -1.0, 0.0, 0.0 ) ),
list( 0, 0, 0, 1, 1, 2, 2, 2 ) );
constructs an arc of 180 degrees in the XZ plane as a rational quadratic
Bspline curve.
Example:
c = CBSPLINE( 4,
list( ctlpt( E2, 0.5, 0.5 ),
ctlpt( E2, -0.5, 0.5 ),
ctlpt( E2, -0.5, -0.5 ),
ctlpt( E2, 0.5, -0.5 ) ),
list( KV_PERIODIC ) );
color( c, red );
viewobj( c );
c1 = cregion( c, 3, 4 );
color( c1, green );
c2 = cregion( c, 4, 5 );
color( c2, yellow );
c3 = cregion( c, 5, 6 );
color( c3, cyan );
c4 = cregion( c, 6, 7 );
color( c3, magenta );
viewobj( list( c1, c2, c3, c4 ) );
creates a periodic curve and extracts its four polynomial domains as four
open end Bspline curves.